import ajax from '@/uni_modules/u-ajax/js_sdk'
import {
	BASE_URL
} from '@/env.js'
// 创建请求实例
const instance = ajax.create({
  // 默认配置
  baseURL:BASE_URL
})

// 添加请求拦截器
instance.interceptors.request.use(
  config => {
    // 在发送请求前做些什么
    console.log('发送请求前', config)
	const token = uni.getStorageSync('mertoken')
	token && (config.header['X-token'] = token)
    return config
  },
  error => {
    // 对请求错误做些什么
    console.log('发请求错误', error)
    return Promise.reject(error)
  }
)

// 添加响应拦截器
instance.interceptors.response.use(
  response => {
    // 对响应数据做些什么
    console.log('响应成功后', response)
	let result = response.data
	if(result.status == 400){
		// 用户未登录或其他需要跳转至登录页的情况
		uni.showToast({
			title: '请先登录',
			icon: 'none',
			duration: 2000
		});
		setTimeout(() => {
			uni.navigateTo({
				url: '/pages/index/merlogin'
			});
		}, 2000); // 延迟2秒后跳转，以便用户看到提示
		return Promise.reject('需要登录'); // 返回一个错误，告知调用者
	}
    return result
  },
  error => {
    // 对响应错误做些什么
    console.log('响应错误后', error)
    return Promise.reject(error)
  }
)

export const install = Vue => {
  // 如果您是像我下面这样挂载在 Vue 原型链上，则通过 this.$ajax 调用
  Vue.prototype.$ajax = instance
}

export default instance
